package org.computate.tool;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.computate.model.dao.ComputateDao;
import org.computate.model.item.Model;

public interface ModelTool {

	public Class<? extends Model> getClass(String modelName);
	public Class<?> getDaoClass(String modelName);
	public ComputateDao<?> getDao(String modelName);
	public Model getItem(ComputateDao<?> dao, Long id, int getLevels);
	public Class<?> getItemClass(String modelName);
	public void edit(String fieldName, Class<?> c, Model item, String valueString, ComputateDao<?> dao);
	public Model add(HttpServletRequest request, HttpServletResponse response, String modelName, String name) throws InstantiationException, IllegalAccessException;
}
